package md.lanjing.com.module_deal_center.api;



import md.lanjing.com.module_deal_center.bean.AddSaleOrderRequest;
import com.lxh.baselibray.base.BaseResponce;
import md.lanjing.com.module_deal_center.bean.BuyBillDetailRequest;
import md.lanjing.com.module_deal_center.bean.BuyBillDetailResponce;
import md.lanjing.com.module_deal_center.bean.BuyOrderStateRequest;
import md.lanjing.com.module_deal_center.bean.BuyOrderStateResponce;
import md.lanjing.com.module_deal_center.bean.CancelOrderRequest;
import md.lanjing.com.module_deal_center.bean.CheckOrderDetailResponce;
import md.lanjing.com.module_deal_center.bean.ConsignOrderStateRequest;
import md.lanjing.com.module_deal_center.bean.ConsignOrderStateResponce;
import md.lanjing.com.module_deal_center.bean.DealCenterBuyListRequest;
import md.lanjing.com.module_deal_center.bean.DealCenterBuyListResponce;
import md.lanjing.com.module_deal_center.bean.DealCenterNacVacancyResponce;
import md.lanjing.com.module_deal_center.bean.DealVoucherRequest;
import md.lanjing.com.module_deal_center.bean.DealVoucherResponce;
import md.lanjing.com.module_deal_center.bean.PayMoneyDetailRequest;
import md.lanjing.com.module_deal_center.bean.PayMoneyDetailResponce;
import md.lanjing.com.module_deal_center.bean.PayMoneyRespoce;
import md.lanjing.com.module_deal_center.bean.QueryIncomeResponce;
import md.lanjing.com.module_deal_center.bean.SalingOrderResponce;
import md.lanjing.com.module_deal_center.bean.CheckOrderDetailConfirmRequest;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.Headers;
import retrofit2.http.POST;

public interface DealApiService {
    @Headers({
            "Content-Type: application/json",
            "Accept: application/json",
    })




    /**
     * 交易中心-获取资产
     * @param userId
     * @return
     */
    @FormUrlEncoded
    @POST("userAssets/findMyAssets")
    Call<DealCenterNacVacancyResponce> getNacVaCancy(@Field("userId") int userId);

    /**
     * 查询正在出售订单
     * @return
     */
    @FormUrlEncoded
    @POST("bill/findMyBillInTheSale")
    Call<SalingOrderResponce> getSalingOrder(@Field("userId") int userId);

    /**
     * 获取寄售订单-已锁定、审核中、已完成
     * @param request
     * @return
     */
    @POST("bill/findMyLockingBill")
    Call<ConsignOrderStateResponce> getConsignOrderStateList(@Body ConsignOrderStateRequest request);



    /**
     * 取消订单
     * @param request
     * @return
     */
    @POST("bill/cancelBill")
    Call<BaseResponce> cancelOrder(@Body CancelOrderRequest request);


    /**
     * 每日收益
     * @param userId
     * @return
     */
    @FormUrlEncoded
    @POST("userAssets/findReceiptToday")
    Call<QueryIncomeResponce> getPerProfit(@Field("userId") int userId);


    /**
     * 购买详情-锁订订单
     * @param request
     * @return
     */
    @POST("bill/lockBill")
    Call<BuyBillDetailResponce> lockBill(@Body BuyBillDetailRequest request);

    /**
     * 购买订单-已锁定、审核中、已完成
     * @param request
     * @return
     */
    @POST("transferBillLog/findMyLockTransferBill")
    Call<BuyOrderStateResponce> queryBuyStateOrder(@Body BuyOrderStateRequest request);

    /**
     * 购买订单-确认交易凭证
     * @param request
     * @return
     */
    @POST("transferBillLog/payBill")
    Call<DealVoucherResponce> dealVoucher(@Body DealVoucherRequest request);

    @FormUrlEncoded
    @POST("transferBillLog/findTransferBillLogInfo")
    Call<PayMoneyRespoce> queryPayMoneyMsg(@Field("transferId") String transferId);

    /**
     * 查询寄售收款码信息
     * @param request
     * @return
     */
    @POST("bill/findReceivablesInfo")
    Call<PayMoneyDetailResponce> payMoneyDetail(@Body PayMoneyDetailRequest request);

    /**
     * 寄售订单-审核中-查看详情
     * @param transferId
     * @return
     */
    @FormUrlEncoded
    @POST("transferBillLog/findTransferBillLogInfo")
    Call<CheckOrderDetailResponce> queryCheckOrderDetail(@Field("transferId") String transferId);

    /**
     * 审核订单确认
     * @param request
     * @return
     */
    @POST("transferBillLog/reviewTransferBillLog")
    Call<BaseResponce> checkOrderConfirm(@Body CheckOrderDetailConfirmRequest request);
    /**
     * 交易中心-购买订单列表
     * @return
     */
    @POST("bill/findBillInTheSale")
    Call<DealCenterBuyListResponce> getDealCenterBuyList(@Body DealCenterBuyListRequest request);

    /**
     * 添加寄售订单
     * @param request
     * @return
     */
    @POST("bill/addBill")
    Call<BaseResponce> addSaleOrder(@Body AddSaleOrderRequest request);

}
